The term “steganography” generally implies data hiding. One form of data hiding includes digital watermarking. For purposes of this disclosure, the terms “digital watermark,” “watermark” and “data hiding” are used interchangeably. We sometimes use the terms “embedding,” “embed,” and data hiding” (and variants thereof) to mean modulating or transforming data representing imagery or video to include information therein. For example, data hiding may seek to hide or embed an information signal (e.g., a plural bit payload or a modified version of such, e.g., a 2-D error corrected, spread spectrum signal) in a host signal. This can be accomplished, e.g., by modulating a host signal (e.g., image, video or audio) in some fashion to carry the information signal. One way to modulate a host signal, as described in detail herein, is to overprint a first color with additional colors. The additional colors may carry or represent the information signal. We use the terms “decode,” “detect,” and “read” (and variants thereof) interchangeably to mean detecting or recovering an embedded digital watermark.
Some of the present assignee's work in steganography, data hiding and digital watermarking is reflected, e.g., in U.S. Pat. Nos. 6,947,571; 6,912,295; 6,891,959, 6,763,123; 6,718,046; 6,614,914; 6,590,996; 6,408,082; 6,122,403 and 5,862,260, and in published specifications WO 9953428 and WO 0007356 (corresponding to U.S. Pat. Nos. 6,449,377 and 6,345,104). Each of these patent documents is hereby incorporated by reference herein in its entirety. Of course, a great many other approaches are familiar to those skilled in the art. The artisan is presumed to be familiar with a full range of literature concerning steganography, data hiding and digital watermarking.
This disclosure focuses on data hiding with printed colors, e.g., embedding information signals in so-called spot colors and process colors. Of course, our techniques, methods and systems will be useful for other color schemes as well, e.g., digital printing.
Spot colors may include premixed inks for use instead of or in addition to process color inks. In many print environments, each spot color ink typically uses its own printing plate on a print press. Spot colors can be used instead of or in addition to process colors for better color accuracy, better color consistency, and colors outside of process ink gamut and for technologies which are prone to specific printing errors. A common spot color system is PANTONE (http://www.pantone.com/). The PANTONE system defines several hundred different inks.
Process colors can be printed using a combination of four standard process inks: Cyan, Magenta, Yellow and Black (CMYK). Considering that every color used in some printing presses uses its own plate, it is highly impractical to print using every color in a design. Process color printing was developed, in part, to address this impracticality, since most colors can be accurately approximated with a combination of these four process colors, CMYK. To create a process color which includes multiple inks, overprinting can be used.
Similar to CMYK, it is usually possible to print a percentage of a given spot color. We refer to printing less than 100% of a spot color as “screening” (or “a screen”) the spot color or as a “spot color tint”. There are sometimes advantages to using process color equivalent tint. The process color equivalent tint can be a combination of CMYK percentages which produce an approximation color for an original spot color or spot color tint. Process colors can be printed with, e.g., half tone dots.
Overprinting is the process of printing one or more colors on top of another in the reproduction of a design. Because of physical differences between inks and substrate, the result of printing directly onto the substrate versus onto another ink may differ and can be considered in a print run. In some situations, it is necessary to print the desired color using a single ink or a spot color.
Various materials and techniques can be used in the printing process which can be considered for data hiding for spot colors and process colors, these materials include: substrate, process colors, overprinting, spot colors, spot tint (screening) and process equivalent tints. In printing, the term “substrate” refers to a base material which a design is printed onto. Most often, a substrate comprises paper which can be a variety of weights and finishes. Other common substrates in commercial printing include films, plastics, laminated plastics and foils.
Some color science background along with our improvements and additions are provided, below.
The color of an object is often the result of an interaction between a light source, an object and a detector (e.g., the human visual system). Other detectors include point of sale captured systems, mobile phone cameras, barcode readers, etc.
Light is radiation which can be seen, in the wavelength range of about 380 to 780 nm.
Spectral reflectance can be used to describe how an object interacts with light. When reflected light is detected and interpreted through the human visual system it results in an object having a particular color. The most common way to capture spectral data with a device is by using a spectrophotometer.
FIG. 1(a) shows spectral reflectance of PANTONE process color inks as measured using an i1Pro spectrophotometer, from X-Rite Corporation, headquartered in Grand Rapids, Mich., USA. FIG. 1(a) also shows spectrum emitted by red LED illumination at or around 660 nm. FIG. 1(b) shows 931 CIE 2° standard observer matching functions used for converting spectral reflectance to CIE XYZ color space.
Often color is described by artists and designers in terms of mixing paint or inks. An artist often starts with white paper, which reflects most of the light. Different colored pigments are applied on top of the paper, which reduce the amount of light reflected back. Current trends for printing describe subtractive four color mixing using process color combinations of CMYK. Yellow, for instance, reflects most of the light, it absorbs only the lower wavelengths.
In 1931, the CIE (Commission Internationale de l'Eclairage) developed a way to link between wavelengths in the visible spectrum and colors which are perceived by the human visual system. The models which the CIE developed made it possible to transform color information between physical responses to reflectance in color inks, illuminated displays, and capture devices such as digital cameras into a perceptually (nearly) uniform color space. The CIE XYZ color space was derived by multiplying the color matching functions† with the spectral power of the illuminant and the reflectance of an object, which results in a set of XYZ tristimulus values for a given sample. Within the CIE model, CIE Y describes the luminance or perceived brightness. While the CIE X and CIE Z plane contain the chromaticities, which describes the color regardless of luminance.
Chromaticity can be described by two parameters, hue and colorfulness. Hue or hue angle, describes the perceived color name, such as: red, green, yellow and blue. Colorfulness is the attribute which describes a color as having more or less of its hue. A color with 0 colorfulness would be neutral. The CIE took the CIE XYZ space to propose a pseudo-uniform color space, where calculated differences are proportional to perceptual differences between two color stimuli, formally referred to as the CIE 1976 L*a*b* (CIELAB) color space. The L* coordinate represents the perceived lightness, an L* value of 0 indicates black and a value of 100 indicates white. The CIE a* coordinate position goes between “redness” (positive) and “greenness” (negative), while the CIE b* goes between “yellowness” (positive) and “blueness” (negative).
To describe how perceptually similar two colors are, the CIE developed a color difference model, CIE ΔE76. The first model developed was simply the Euclidean distance in CIELAB between two color samples. Since then, other more complex models have been developed to address some of the non-uniformity within the CIELAB Color-space, most notably the sensitivity to neutral or near neutral colors.
The CIELAB color difference metric is appropriate for measuring the color difference of a large uniform color region, however, the model does not consider the spatial-color sensitivity of the human eye. The luminance and chrominance CSF (Contrast Sensitivity Function) of the human visual system has been measured for various retinal illumination levels. The luminance CSF variation was measured by van Nes and Bouman (1967) and the chrominance CSF variation by van der Horst and Bouman (1969) and the curves are plotted in FIG. 2a for a single typical illumination level. See, e.g., Johnson et al, “Darwinism of Color Image Difference Models,” Proc. of IS&T/SID, 9th Color Imaging Conference, November 2001, p. 108-11, for an additional discussion of CSFs. The Johnson et al. document is hereby incorporated herein by reference in its entirety.
A digital watermark may contain signal energy, e.g., over the spatial resolutions shown by the gray box in FIG. 2a. If the luminance and chrominance contrast sensitivity functions are integrated over this gray box region, the resultant energy ratios calculate the uniform perceptual scaling for CIELAB L*, a* and b*. Thus the watermark perceptual error ΔEWM can be calculated as:ΔEWM=(ΔL2+(Δa/8)2+(Δb/16)2)1/2,  (1)where ΔL is the luminance variation and Δa and Δb the two chrominance variations introduced by a watermark.
Ink overprint models predict final color obtained by overprinting several inks on a specific press and substrate. These models can be used digital watermark embedding algorithm to predict (1) color of the overprint for visibility evaluation, and (2) color of the overprint as seen by the imaging device for signal robustness evaluation. Ink overprint models can be obtained in practice by combining two main factors (1) set of measured color patches printed on a real press, and (2) mathematical model interpolating the measured values while making some simplifying assumptions. One model can be obtained by measuring a set of color patches obtained by sampling the space of all possible ink combinations, possibly printed multiple times and averaged. For example, for k inks and n steps of each ink, nk color patches would have to be printed and measured. This process, known as press profiling or press fingerprinting, is often used with process inks, where a few thousand patches are used to characterize the press. Measured values are then interpolated and assembled into k-dimensional look-up table which is further consumed by software tools. ICC profiles are standardized and industry-accepted form of such look-up tables converting k ink percentages into either CIE XYZ or CIELAB space. For process inks, 4-channel CMYK profiles are standardized to maintain consistency between different printers. For example, the GRACoL (“General Requirements for Applications in Commercial Offset Lithography”) specification includes CMYK ICC profiles recommended for commercial offset lithography. Unfortunately, full color spectral data is often not available as standardization is still in progress. This methodology quickly becomes impractical as spot colors are introduced due to exponential increase of the number of patches used to print and large number of spot colors available. A previous mathematical model for ink overprint was described by Neugebauer. For example, see, e.g., Wyble et al., “A critical review of spectral models applied to binary color printing,” Color Research & Application, 25(1):4-19, 2000, which is hereby incorporated herein by reference in its entirety. The model expresses the spectral reflectance of a print as the sum of the reflectance of each combination of ink (called Neugebauer primaries) weighted by the relative proportion of the paper it occupies. For example, for spot ink S, Cyan, and Magenta, we have:R(λ)=∝oRo(λ)+∝sRs(λ)+∝cRc(λ)+∝MRM(λ)+∝RSC(λ)+∝RSM(λ)+∝RCM(λ)+∝SCMRSCM(λ)  (2)Where Ro(λ), Rc(λ), RSC(λ) is a reflectance of substrate, 100% Cyan ink, and overprint of 100% spot and Cyan all printed on substrate at wavelength λ, respectively. Other overprints, such as RSCM, are similarly defined. Weights ∝ satisfy Demichel equation
                                          ∝                    o                =                                                            (                                                      1                    -                                    ⁢                                      ∝                    s                                                  )                            ⁢                              (                                                      1                    -                                    ⁢                                      ∝                    c                                                  )                            ⁢                              (                                                      1                    -                                    ⁢                                      ∝                    M                                                  )                                      ⁢                                                  ⁢                          ∝              M                                =                                                                      (                                                            1                      -                                        ⁢                                          ∝                      s                                                        )                                ⁢                                  (                                                            1                      -                                        ⁢                                          ∝                      c                                                        )                                            ⁢                              ∝                M                            ⁢                                                          ⁢                              ∝                CM                                      =                                          (                                                      1                    -                                    ⁢                                      ∝                    S                                                  )                            ⁢                              ∝                C                            ⁢                              ∝                M                            ⁢                                                          ⁢                              ∝                S                            ⁢                              =                                                                            ∝                      S                                        ⁢                                                                  (                                                                              1                            -                                                    ⁢                                                      ∝                            C                                                                          )                                            ⁢                                              (                                                                              1                            -                                                    ⁢                                                      ∝                            M                                                                          )                                                              ⁢                                                                                  ⁢                                          ∝                      SC                                                        =                                                                                    ∝                        S                                            ⁢                                              ∝                        C                                            ⁢                                              (                                                                              1                            -                                                    ⁢                                                      ∝                            M                                                                          )                                            ⁢                                                                                          ⁢                                              ∝                        SCM                                                              =                                                                                            ∝                          S                                                ⁢                                                  ∝                          C                                                ∝                                                                                                  ⁢                                                  ∝                          c                                                                    =                                                                                                    (                                                                                          1                                -                                                            ⁢                                                              ∝                                S                                                                                      )                                                    ⁢                                                      ∝                            C                                                    ⁢                                                      (                                                                                          1                                -                                                            ⁢                                                              ∝                                M                                                                                      )                                                    ⁢                                                                                                          ⁢                                                      ∝                            SM                                                                          =                                                                              ∝                            S                                                    ⁢                                                      (                                                                                          1                                -                                                            ⁢                                                              ∝                                c                                                                                      )                                                    ⁢                                                      ∝                            M                                                                                                                                                                                                      (        3        )            where ∝S, ∝c, ∝M is spot, Cyan, Magenta ink percentage, respectively.
In order to use the Spectral Neugebauer model with k inks in practice, there is typically a reflectance of 2k Neugebauer primary colors including the color of the substrate, 100% of each ink on its own on the substrate, and all 100% ink overprint combinations printed on substrate. Reflectance of substrate, and any overprint of process inks can be derived (or at least approximated) from CIE XYZ values obtained from ICC profile. Reflectance of 100% of the spot color can be measured or taken from an external source such as PANTONE Live (www.pantone.com/live). Reflectance of multiple spot color overprint or process and spot ink overprint may be either measured from a printed test patch or, for transparent inks, approximated using product of reflectances. For example, reflectance of Cyan and spot color overprint can be approximated by:
                                          R            SC                    ⁡                      (            λ            )                          =                                            R              0                        ⁡                          (              λ              )                                =                                                                      R                  S                                ⁡                                  (                  λ                  )                                                                              R                  0                                ⁡                                  (                  λ                  )                                                      ⁢                                                                                R                    C                                    ⁡                                      (                    λ                    )                                                                                        R                    0                                    ⁡                                      (                    λ                    )                                                              .                                                          (        4        )            Reflectance of process inks overprint can either be derived from an ICC profile CIE XYZ value or approximated as a product of individual reflectances normalized for substrate reflectance based on the formula above. When inks are approximated by Eq. (4), we obtain:
                              R          ⁡                      (            λ            )                          =                                            R              0                        ⁡                          (              λ              )                                ⁢                                    ∏                              i                =                1                            k                        ⁢                                          (                                  1                  -                                                            (                                              1                        -                                                                                                            R                              i                                                        ⁡                                                          (                              λ                              )                                                                                                                                          R                              0                                                        ⁡                                                          (                              λ                              )                                                                                                                          )                                        ⁢                                          α                      i                                                                      )                            .                                                          (        5        )            Coefficients ∝i in Spectral Neugebauer model are linear ink percentages before any dot gain correct ion. Demichel equation (3), linear ramp in ∝i results in a linear change of reflectance and thus linear change of CIE XYZ. To correct for any single-ink non-linearity caused by the press (often called dot gain), we substitute ∝i in the above model with gain corrected values gi−1({circumflex over (∝)}i). Function gi−1 inverts the dot—gain effect such that linear ramp in {circumflex over (∝)}i. leads back to linear increase of reflectance. Several patches of single screened ink can be used to estimate gi−1 for i-th ink.
Further combinations, aspects, features and description will become even more apparent with reference to the following detailed description and accompanying drawings.
Other drawings are included throughout the text in Appendix A, Reed et al., “Watermarking Spot Colors in Packaging,” which is hereby incorporated herein by reference.